Cloud computing systems allow users to remotely access computer resources, and so to load and execute various computing tasks. In recent years, such systems have begun to supplant the use of stand-alone computers in data centers and other such environments. A cloud computing system, using some number of computers, can include multiple distributed servers connected by way of a network. In such a distributed system, computational resources, storage resources, and the like are typically made available to a user via a network connection to such resources. As a result, such distributed systems can provide high quality of service to users, regardless of their location.
Certain cloud computing systems employ servers with multiple processors. In certain architectures, such multiple processors can include general-purpose processing units (e.g., one or more central processing units (CPUs)), well as more specialized processing units (e.g., graphics processing units (GPUs)). Depending on the computing task(s) being executed, one or more of the servers in a data center supports multiple processors (e.g., a CPU and a GPU) can encounter situations in which such a server's CPU is in use by a computing task, but its GPU is not needed by the computing task being executed. Such situations result in unused computing capacity, and reduced overall efficiency of the data center in question.
While the embodiments of the application are susceptible to various modifications and alternative forms, specific embodiments are provided as examples in the drawings and detailed description. It should be understood that the drawings and detailed description are not intended to limit the embodiments to the particular form disclosed. Instead, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the invention as defined by the appended claims.